7 research outputs found

    An Empirical Study of Cohesion and Coupling: Balancing Optimisation and Disruption

    Get PDF
    Search based software engineering has been extensively applied to the problem of finding improved modular structures that maximise cohesion and minimise coupling. However, there has, hitherto, been no longitudinal study of developers’ implementations, over a series of sequential releases. Moreover, results validating whether developers respect the fitness functions are scarce, and the potentially disruptive effect of search-based remodularisation is usually overlooked. We present an empirical study of 233 sequential releases of 10 different systems; the largest empirical study reported in the literature so far, and the first longitudinal study. Our results provide evidence that developers do, indeed, respect the fitness functions used to optimise cohesion/coupling (they are statistically significantly better than arbitrary choices with p << 0.01), yet they also leave considerable room for further improvement (cohesion/coupling can be improved by 25% on average). However, we also report that optimising the structure is highly disruptive (on average more than 57% of the structure must change), while our results reveal that developers tend to avoid such disruption. Therefore, we introduce and evaluate a multi-objective evolutionary approach that minimises disruption while maximising cohesion/coupling improvement. This allows developers to balance reticence to disrupt existing modular structure, against their competing need to improve cohesion and coupling. The multi-objective approach is able to find modular structures that improve the cohesion of developers’ implementations by 22.52%, while causing an acceptably low level of disruption (within that already tolerated by developers)

    Software restructuring: understanding longitudinal architectural changes and refactoring

    Get PDF
    The complexity of software systems increases as the systems evolve. As the degradation of the system's structure accumulates, maintenance effort and defect-proneness tend to increase. In addition, developers often opt to employ sub-optimal solutions in order to achieve short-time goals, in a phenomenon that has been recently called technical debt. In this context, software restructuring serves as a way to alleviate and/or prevent structural degradation. Restructuring of software is usually performed in either higher or lower levels of granularity, where the first indicates broader changes in the system's structural architecture and the latter indicates refactorings performed to fewer and localised code elements. Although tools to assist architectural changes and refactoring are available, there is still no evidence these approaches are widely adopted by practitioners. Hence, an understanding of how developers perform architectural changes and refactoring in their daily basis and in the context of the software development processes they adopt is necessary. Current software development is iterative and incremental with short cycles of development and release. Thus, tools and processes that enable this development model, such as continuous integration and code review, are widespread among software engineering practitioners. Hence, this thesis investigates how developers perform longitudinal and incremental architectural changes and refactoring during code review through a wide range of empirical studies that consider different moments of the development lifecycle, different approaches, different automated tools and different analysis mechanisms. Finally, the observations and conclusions drawn from these empirical investigations extend the existing knowledge on how developers restructure software systems, in a way that future studies can leverage this knowledge to propose new tools and approaches that better fit developers' working routines and development processes

    Replication package for the paper: We Need to Talk About Microservices

    No full text
    This is a replication package for the paper "We Need to Talk About Microservices", published at the mining challenge track of MSR'19. This package is composed of two files: data.zip and code.zip. On data.zip, one will find the raw and intermediate data for each and every step of our experimental methodology. On code.zip, one will find the source code we employed to perform our analysis

    A novel automated alternating current biosusceptometry method to characterization of controlled-release magnetic floating tablets of metronidazole

    No full text
    Context: Alternating Current Biosusceptometry is a magnetically method used to characterize drug delivery systems. This work presents a system composed by an automated ACB sensor to acquire magnetic images of floating tablets.Objective: The purpose of this study was to use an automated Alternating Current Biosusceptometry (ACB) to characterize magnetic floating tablets for controlled drug delivery.Materials and methods: Floating tablets were prepared with hydroxypropyl methylcellulose (HPMC) as hydrophilic gel material, sodium bicarbonate as gas-generating agent and ferrite as magnetic marker. ACB was used to characterize the floating lag time and the tablet hydration rate, by quantification of the magnetic images to magnetic area. Besides the buoyancy, the floating tablets were evaluated for weight uniformity, hardness, swelling and in vitro drug release.Results: The optimized tablets were prepared with equal amounts of HPMC and ferrite, and began to float within 4 min, maintaining the flotation during more than 24 h. The data of all physical parameters lied within the pharmacopeial limits. Drug release at 24 h was about 40%.Conclusions: The ACB results showed that this study provided a new approach for in vitro investigation of controlled-release dosage forms. Moreover, using automated ACB will also be possible to test these parameters in humans allowing to establish an in vitro/in vivo correlation (IVIVC).Fundação de Amparo à Pesquisa do Estado de São Paulo (FAPESP

    Action mechanism and cardiovascular effect of anthocyanins: a systematic review of animal and human studies

    No full text
    corecore